package com.ruoyi.manage.mapper;

import java.util.List;
import com.ruoyi.manage.domain.EventSurgery;
import com.ruoyi.manage.domain.EventSurgeryDetail;

/**
 * 手术事件Mapper接口
 * 
 * @author zww
 * @date 2025-07-01
 */
public interface EventSurgeryMapper 
{
    /**
     * 查询手术事件
     * 
     * @param eventSurgeryId 手术事件主键
     * @return 手术事件
     */
    public EventSurgery selectEventSurgeryByEventSurgeryId(Long eventSurgeryId);
    public List<EventSurgeryDetail> selectEventSurgeryDetailList(Long eventSurgeryId);
    /**
     * 查询手术事件列表
     * 
     * @param eventSurgery 手术事件
     * @return 手术事件集合
     */
    public List<EventSurgery> selectEventSurgeryList(EventSurgery eventSurgery);

    /**
     * 新增手术事件
     * 
     * @param eventSurgery 手术事件
     * @return 结果
     */
    public int insertEventSurgery(EventSurgery eventSurgery);

    /**
     * 修改手术事件
     * 
     * @param eventSurgery 手术事件
     * @return 结果
     */
    public int updateEventSurgery(EventSurgery eventSurgery);

    /**
     * 删除手术事件
     * 
     * @param eventSurgeryId 手术事件主键
     * @return 结果
     */
    public int deleteEventSurgeryByEventSurgeryId(Long eventSurgeryId);

    /**
     * 批量删除手术事件
     * 
     * @param eventSurgeryIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteEventSurgeryByEventSurgeryIds(Long[] eventSurgeryIds);

    /**
     * 批量删除手术事件详情
     * 
     * @param eventSurgeryIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteEventSurgeryDetailByEventSurgeryIds(Long[] eventSurgeryIds);
    
    /**
     * 批量新增手术事件详情
     * 
     * @param eventSurgeryDetailList 手术事件详情列表
     * @return 结果
     */
    public int batchEventSurgeryDetail(List<EventSurgeryDetail> eventSurgeryDetailList);
    

    /**
     * 通过手术事件主键删除手术事件详情信息
     * 
     * @param eventSurgeryId 手术事件ID
     * @return 结果
     */
    public int deleteEventSurgeryDetailByEventSurgeryId(Long eventSurgeryId);


    public List<EventSurgery> selectEventSurgeryBySurgeryId(Long surgeryId);
}
